using System;
using System.Data;
using System.Collections.Generic;
using ADOBase;
namespace eTMS.DAO{
	/********************************BEGIN ThongTinTraoDoiKhachHangDAO****************************************/
	///<summary>
	/// <para>Author: Auto generated class by CSharp Code Generator v2.0</para>
	/// <para>Date:27/10/2011 56:03:12</para>
	/// <para>Class Name: ThongTinTraoDoiKhachHangDAO</para>
	/// <para>Description: Class access to table ThongTinTraoDoiKhachHang in database. Coder should'nt code here.</para>
	///</summary>

	
	public partial class ThongTinTraoDoiKhachHangDAO : DAOBase<ThongTinTraoDoiKhachHangEntity>{


		#region Select functions
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateSelectOneCommand</para>
		/// <para>Input: ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateSelectOneCommand(int ThongTinTraoDoiKhachHang_ID){
			string strSQL="SELECT  [ThongTinTraoDoiKhachHang_ID],[KhachHang_ID],[NgayCN],[NoiDung] FROM [ThongTinTraoDoiKhachHang]  WHERE [ThongTinTraoDoiKhachHang].[ThongTinTraoDoiKhachHang_ID]=@ThongTinTraoDoiKhachHang_ID";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",ThongTinTraoDoiKhachHang_ID);



			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: SelectOne</para>
		/// <para>Input: ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: ThongTinTraoDoiKhachHangEntity</para>
		///</summary>
		public ThongTinTraoDoiKhachHangEntity SelectOne(int ThongTinTraoDoiKhachHang_ID){
			IDbCommand cmd=this.CreateSelectOneCommand(ThongTinTraoDoiKhachHang_ID);
			return this.Select(cmd);
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateSelectAllCommand</para>
		/// <para>Input: </para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateSelectAllCommand(){
			string strSQL="SELECT  [ThongTinTraoDoiKhachHang_ID],[KhachHang_ID],[NgayCN],[NoiDung] FROM [ThongTinTraoDoiKhachHang] ";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateSelectAllByKeyCommand</para>
		/// <para>Input: ColumnName,ColumnValue</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateSelectAllByKeyCommand(string ColumnName,object Value){
			string strSQL="SELECT  [ThongTinTraoDoiKhachHang_ID],[KhachHang_ID],[NgayCN],[NoiDung] FROM [ThongTinTraoDoiKhachHang]  WHERE [ThongTinTraoDoiKhachHang].["+ColumnName+"]=@ColumnName";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			this.CreateCommandParameter(cmd,"@ColumnName",Value);



			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: SelectAll</para>
		/// <para>Input: </para>
		/// <para>Output: List of ThongTinTraoDoiKhachHangEntity</para>
		///</summary>
		public List<ThongTinTraoDoiKhachHangEntity> SelectAll(){
			IDbCommand cmd=this.CreateSelectAllCommand();
			return this.SelectList(cmd);
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: SelectAllDS</para>
		/// <para>Input: </para>
		/// <para>Output: DataSet</para>
		///</summary>
		public DataSet SelectAllDS(){
			IDbCommand cmd=this.CreateSelectAllCommand();
			return this.SelectDS(cmd);
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateSelectAllFilterCommand</para>
		/// <para>Input: </para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateSelectAllFilterCommand(string strFilter){
			string strSQL="SELECT  [ThongTinTraoDoiKhachHang_ID],[KhachHang_ID],[NgayCN],[NoiDung] FROM [ThongTinTraoDoiKhachHang]  WHERE "+RemoveInjection(strFilter);
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateSelectAllByKeyFilterCommand</para>
		/// <para>Input: ColumnName,ColumnValue</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateSelectAllByKeyFilterCommand(string strFilter,string ColumnName,object Value){
			string strSQL="SELECT  [ThongTinTraoDoiKhachHang_ID],[KhachHang_ID],[NgayCN],[NoiDung] FROM [ThongTinTraoDoiKhachHang]  WHERE [ThongTinTraoDoiKhachHang].["+ColumnName+"]=@ColumnName AND "+RemoveInjection(strFilter);
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			this.CreateCommandParameter(cmd,"@ColumnName",Value);



			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: SelectAll</para>
		/// <para>Input: </para>
		/// <para>Output: List of ThongTinTraoDoiKhachHangEntity</para>
		///</summary>
		public List<ThongTinTraoDoiKhachHangEntity> SelectAllFilter(string strFilter){
			IDbCommand cmd=this.CreateSelectAllFilterCommand(strFilter);
			return this.SelectList(cmd);
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: SelectAllDSFilter</para>
		/// <para>Input: </para>
		/// <para>Output: DataSet</para>
		///</summary>
		public DataSet SelectAllDSFilter(string strFilter){
			IDbCommand cmd=this.CreateSelectAllFilterCommand(strFilter);
			return this.SelectDS(cmd);
		}
		#endregion

		#region Insert functions
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateInsertCommand</para>
		/// <para>Input: ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateInsertCommand(ThongTinTraoDoiKhachHangEntity o){
			string strSQL="INSERT INTO [ThongTinTraoDoiKhachHang]([KhachHang_ID],[NgayCN],[NoiDung]) VALUES  (@KhachHang_ID,@NgayCN,@NoiDung);SELECT  @@IDENTITY";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			if(o.IsNullKhachHang_ID)
				this.CreateCommandParameter(cmd,"@KhachHang_ID",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@KhachHang_ID",o.KhachHang_ID);

			if(o.IsNullNgayCN)
				this.CreateCommandParameter(cmd,"@NgayCN",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@NgayCN",o.NgayCN);

			if(o.IsNullNoiDung)
				this.CreateCommandParameter(cmd,"@NoiDung",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@NoiDung",o.NoiDung);


			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: Save</para>
		/// <para>Input: ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool Save(ThongTinTraoDoiKhachHangEntity o){
			bool result=false;
			IDbCommand cmd=this.CreateInsertCommand(o);
			object id=this.ExecuteScalar(cmd,ref result);
			cmd.Dispose();
			try{
				o.ThongTinTraoDoiKhachHang_ID=int.Parse(Convert.ToString(id));
			}
			catch{}
			return result;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: SaveList</para>
		/// <para>Input: List of ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: </para>
		///</summary>
		public void SaveList(List<ThongTinTraoDoiKhachHangEntity>list){
			foreach(ThongTinTraoDoiKhachHangEntity o in list){
				try{
					this.Save(o);
				}
				catch{
				}
			}
		}
		#endregion

		#region Update functions
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateUpdateCommand</para>
		/// <para>Input: ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: </para>
		///</summary>
		protected IDbCommand CreateUpdateCommand(ThongTinTraoDoiKhachHangEntity o){
			string strSQL="UPDATE  [ThongTinTraoDoiKhachHang] SET [ThongTinTraoDoiKhachHang].[KhachHang_ID]=@KhachHang_ID,[ThongTinTraoDoiKhachHang].[NgayCN]=@NgayCN,[ThongTinTraoDoiKhachHang].[NoiDung]=@NoiDung WHERE [ThongTinTraoDoiKhachHang].[ThongTinTraoDoiKhachHang_ID]=@ThongTinTraoDoiKhachHang_ID";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			if(o.IsNullThongTinTraoDoiKhachHang_ID)
				this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",o.ThongTinTraoDoiKhachHang_ID);

			if(o.IsNullKhachHang_ID)
				this.CreateCommandParameter(cmd,"@KhachHang_ID",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@KhachHang_ID",o.KhachHang_ID);

			if(o.IsNullNgayCN)
				this.CreateCommandParameter(cmd,"@NgayCN",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@NgayCN",o.NgayCN);

			if(o.IsNullNoiDung)
				this.CreateCommandParameter(cmd,"@NoiDung",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@NoiDung",o.NoiDung);


			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateUpdateFieldCommand</para>
		/// <para>Input: ColumnName,ColumnValue,ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateUpdateFieldCommand(string ColumnName,object Value,int ThongTinTraoDoiKhachHang_ID){
			string strSQL="UPDATE  [ThongTinTraoDoiKhachHang] SET [ThongTinTraoDoiKhachHang].["+ColumnName+"]=@ColumnName WHERE [ThongTinTraoDoiKhachHang].[ThongTinTraoDoiKhachHang_ID]=@ThongTinTraoDoiKhachHang_ID";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",ThongTinTraoDoiKhachHang_ID);



			this.CreateCommandParameter(cmd,"@ColumnName",Value);


			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: Update</para>
		/// <para>Input: ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool Update(ThongTinTraoDoiKhachHangEntity o){
			IDbCommand cmd=this.CreateUpdateCommand(o);
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: UpdateList</para>
		/// <para>Input: List of ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: </para>
		///</summary>
		public void UpdateList(List<ThongTinTraoDoiKhachHangEntity>list){
			foreach(ThongTinTraoDoiKhachHangEntity o in list){
				try{
					this.Update(o);
				}
				catch{
				}
			}
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: UpdateKhachHang_ID</para>
		/// <para>Input: NewKhachHang_ID,ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool UpdateKhachHang_ID(int NewKhachHang_ID,int ThongTinTraoDoiKhachHang_ID){
			IDbCommand cmd=this.CreateUpdateFieldCommand("KhachHang_ID",NewKhachHang_ID,ThongTinTraoDoiKhachHang_ID);
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: UpdateNgayCN</para>
		/// <para>Input: NewNgayCN,ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool UpdateNgayCN(DateTime NewNgayCN,int ThongTinTraoDoiKhachHang_ID){
			IDbCommand cmd=this.CreateUpdateFieldCommand("NgayCN",NewNgayCN,ThongTinTraoDoiKhachHang_ID);
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: UpdateNoiDung</para>
		/// <para>Input: NewNoiDung,ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool UpdateNoiDung(string NewNoiDung,int ThongTinTraoDoiKhachHang_ID){
			IDbCommand cmd=this.CreateUpdateFieldCommand("NoiDung",NewNoiDung,ThongTinTraoDoiKhachHang_ID);
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		#endregion

		#region Delete functions
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: DeleteAllCommand</para>
		/// <para>Input: </para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateDeleteAllCommand(){
			string strSQL="DELETE   FROM [ThongTinTraoDoiKhachHang]  ";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: DeleteCommand</para>
		/// <para>Input: ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateDeleteCommand(ThongTinTraoDoiKhachHangEntity o){
			string strSQL="DELETE   FROM [ThongTinTraoDoiKhachHang]   WHERE [ThongTinTraoDoiKhachHang].[ThongTinTraoDoiKhachHang_ID]=@ThongTinTraoDoiKhachHang_ID";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			if(o.IsNullThongTinTraoDoiKhachHang_ID)
				this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",System.DBNull.Value);
			else
				this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",o.ThongTinTraoDoiKhachHang_ID);


			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: DeleteAll</para>
		/// <para>Input: </para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool DeleteAll(){
			IDbCommand cmd=this.CreateDeleteAllCommand();
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateDeleteByPrimaryKeyCommand</para>
		/// <para>Input: ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateDeleteByPrimaryKeyCommand(int ThongTinTraoDoiKhachHang_ID){
			string strSQL="DELETE   FROM [ThongTinTraoDoiKhachHang]   WHERE [ThongTinTraoDoiKhachHang].[ThongTinTraoDoiKhachHang_ID]=@ThongTinTraoDoiKhachHang_ID";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			this.CreateCommandParameter(cmd,"@ThongTinTraoDoiKhachHang_ID",ThongTinTraoDoiKhachHang_ID);



			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: CreateDeleteByKeyCommand</para>
		/// <para>Input: ColumnName , ColumnValue</para>
		/// <para>Output: IDbCommand</para>
		///</summary>
		protected IDbCommand CreateDeleteByKeyCommand(string ColumnName,object Value){
			string strSQL="DELETE   FROM [ThongTinTraoDoiKhachHang]   WHERE [ThongTinTraoDoiKhachHang].["+ColumnName+"]=@ColumnName";
			IDbCommand cmd=this.CreateCommand(strSQL);
			cmd.CommandType=CommandType.Text;
			this.CreateCommandParameter(cmd,"@ColumnName",Value);



			return cmd;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: Delete</para>
		/// <para>Input: ThongTinTraoDoiKhachHangEntity</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool Delete(ThongTinTraoDoiKhachHangEntity o){
			IDbCommand cmd=this.CreateDeleteCommand(o);
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: DeleteByID</para>
		/// <para>Input: ThongTinTraoDoiKhachHang_ID</para>
		/// <para>Output: return true if succeeded else return false</para>
		///</summary>
		public bool DeleteByID(int ThongTinTraoDoiKhachHang_ID){
			IDbCommand cmd=this.CreateDeleteByPrimaryKeyCommand(ThongTinTraoDoiKhachHang_ID);
			bool result=this.ExcuteNoneQuery(cmd);
			cmd.Dispose();
			return result;
		}
		#endregion

		#region Select join to KhachHang functions
		#endregion

		#region Select,delete by ThongTinTraoDoiKhachHang_ID functions
		#endregion

		#region Select,delete by KhachHang_ID functions
		#endregion

		#region MapObject functions
		///<summary>
		/// <para>Author: Auto generated by CSharp Code Generator v2.0</para>
		/// <para>Date:27/10/2011 56:03:12</para>
		/// <para>Name: MapObject</para>
		/// <para>Input: IDataReader</para>
		/// <para>Output: ThongTinTraoDoiKhachHangEntity</para>
		///</summary>
		protected override ThongTinTraoDoiKhachHangEntity MapObject(IDataReader r){
			ThongTinTraoDoiKhachHangEntity entity = new ThongTinTraoDoiKhachHangEntity();
			try{
				if(r.FieldCount>0){
					try
					{
						int ordinal = r.GetOrdinal("ThongTinTraoDoiKhachHang_ID");
						if (!r.IsDBNull(ordinal)) entity.ThongTinTraoDoiKhachHang_ID = ((int)(r.GetValue(ordinal)));
					}
					catch{}
					try
					{
						int ordinal = r.GetOrdinal("KhachHang_ID");
						if (!r.IsDBNull(ordinal)) entity.KhachHang_ID = ((int)(r.GetValue(ordinal)));
					}
					catch{}
					try
					{
						int ordinal = r.GetOrdinal("NgayCN");
						if (!r.IsDBNull(ordinal)) entity.NgayCN = ((DateTime)(r.GetValue(ordinal)));
					}
					catch{}
					try
					{
						int ordinal = r.GetOrdinal("NoiDung");
						if (!r.IsDBNull(ordinal)) entity.NoiDung = ((string)(r.GetValue(ordinal)));
					}
					catch{}
					return entity;
				}
			}catch{}
			return null;
		}
		#endregion
	}
	/*****************************************************************************************************/
	/**********************************END ThongTinTraoDoiKhachHangDAOBase*****************************************/
	/*****************************************************************************************************/
}

